home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Shareware / Utilitare / emu / Emu8086_Setup_307c.exe / {app} / Samples / PrinterDemo.asm < prev    next >
Assembly Source File  |  2003-06-02  |  767b  |  38 lines

  1. ; PrinterDemo.asm - Andrew Nelis 2003
  2. ;
  3. ; Simple demonstration of the printer.
  4. ;
  5. ; it is required to start "Printer.exe"
  6. ; before running this demonstration
  7. ; (select it from "Virtual Devices" menu
  8. ;  of the emulator).
  9.  
  10. #make_COM#
  11.  
  12. ; COM file is loaded at CS:0100h
  13. ORG 100h
  14.  
  15. lea bx, message
  16. mov cx, 27d    ; Length of message
  17. mov ax, 0h    ; Ensure top and bottom of
  18.         ; ax empty
  19.  
  20. spit:
  21. mov al, [bx]    ; Put char into al
  22. out 130d, al    ; push char out port
  23.         ; (ie. into printer)
  24.  
  25. inc bx        ; inc pointer
  26.  
  27. wait:        ; Loop to ensure the printer
  28. in al, 130d    ; is ready, it clears
  29. or al, 0    ; the port when this is true.
  30. jnz wait
  31.  
  32. loop spit    ; Go back and repeat if we're
  33.         ; not finished
  34.  
  35. ret
  36.  
  37. message db "Hello World!", 10, 13, "------------", 07
  38.